package com.mnsk.generator.common.constant;

/**
 * 代码生成通用常量
 *
 * @author admin
 */
public class GenConstants {

    /**
     * 代码生成默认作者
     */
    public static final String AUTHOR = "gen_author";
    /**
     * 默认生成包路径
     */
    public static final String PACKAGE_NAME = "gen_package_name";
    /**
     * 代码生成模版（mybatis、 mybatis-plus、ruoyi）
     */
    public static final String GEN_TEMPLATE = "gen_template";
    /**
     * 自动去除表前缀（0否 1是）
     */
    public static final String AUTO_REMOVE_PRE = "gen_auto_remove_pre";
    /**
     * 代码生成表前缀
     */
    public static final String TABLE_PREFIX = "table_prefix";
    /**
     * 默认代码预览主题
     */
    public static final String PREVIEW_THEME = "gen_preview_theme";
    /**
     * 字段是否启用swagger注解（0否 1是）
     */
    public static final String SWAGGER_ENABLE = "gen_swagger_enable";
    /**
     * 默认代码生成方式（0 zip压缩包 1 自定义路径）
     */
    public static final String GEN_TYPE = "0";

    /**
     * 单表（增删改查）
     */
    public static final String TPL_CRUD = "crud";
    /**
     * 主子表（增删改查）
     */
    public static final String TPL_SUB = "sub";

    /**
     * 数据库字符串类型
     */
    public static final String[] COLUMN_TYPE_STR = {"char", "varchar", "narchar", "varchar2", "nvarchar2", "tinytext", "text", "mediumtext", "longtext"};
    /**
     * 数据库时间类型
     */
    public static final String[] COLUMN_TYPE_TIME = {"datetime", "time", "date", "timestamp"};
    /**
     * 数据库数字类型
     */
    public static final String[] COLUMN_TYPE_NUMBER = { "number", "float", "double", "decimal"};
    public static final String[] COLUMN_TYPE_LONG = { "bigint"};
    public static final String[] COLUMN_TYPE_INTEGER = {"tinyint", "smallint", "mediumint", "int", "integer"};

    /**
     * 页面不需要编辑字段
     */
    public static final String[] COLUMN_NAME_NOT_EDIT = {"id", "create_by", "create_time", "del_flag"};
    /**
     * 页面不需要显示的列表字段
     */
    public static final String[] COLUMN_NAME_NOT_LIST = {"id", "create_by", "create_time", "del_flag", "update_by", "update_time"};
    /**
     * 页面不需要查询字段
     */
    public static final String[] COLUMN_NAME_NOT_QUERY = {"id", "create_by", "create_time", "del_flag", "update_by", "update_time", "remark"};

    /**
     * 文本框
     */
    public static final String HTML_INPUT = "input";
    /**
     * 文本域
     */
    public static final String HTML_TEXTAREA = "textarea";
    /**
     * 下拉框
     */
    public static final String HTML_SELECT = "select";
    /**
     * 单选框
     */
    public static final String HTML_RADIO = "radio";
    /**
     * 复选框
     */
    public static final String HTML_CHECKBOX = "checkbox";
    /**
     * 日期控件
     */
    public static final String HTML_DATETIME = "datetime";
    /**
     * 上传控件
     */
    public static final String HTML_UPLOAD = "upload";
    /**
     * 字符串类型
     */
    public static final String TYPE_STRING = "String";
    /**
     * 整型
     */
    public static final String TYPE_INTEGER = "Integer";
    /**
     * 长整型
     */
    public static final String TYPE_LONG = "Long";
    /**
     * 浮点型
     */
    public static final String TYPE_DOUBLE = "Double";
    /**
     * 高精度计算类型
     */
    public static final String TYPE_BIGDECIMAL = "BigDecimal";
    /**
     * 时间类型
     */
    public static final String TYPE_DATE = "Date";

    /**
     * 时间类型
     */
    public static final String TYPE_LOCAL_DATE_TIME = "LocalDateTime";

    /**
     * 模糊查询
     */
    public static final String QUERY_LIKE = "LIKE";
    /**
     * 需要
     */
    public static final String REQUIRE = "1";

}
